package UnOfficeDeTourisme;

/**
 * Interface definition : SGSites
 * 
 * @author OpenORB Compiler
 */
public class SGSitesPOATie extends SGSitesPOA
{

    //
    // Private reference to implementation object
    //
    private SGSitesOperations _tie;

    //
    // Private reference to POA
    //
    private org.omg.PortableServer.POA _poa;

    /**
     * Constructor
     */
    public SGSitesPOATie(SGSitesOperations tieObject)
    {
        _tie = tieObject;
    }

    /**
     * Constructor
     */
    public SGSitesPOATie(SGSitesOperations tieObject, org.omg.PortableServer.POA poa)
    {
        _tie = tieObject;
        _poa = poa;
    }

    /**
     * Get the delegate
     */
    public SGSitesOperations _delegate()
    {
        return _tie;
    }

    /**
     * Set the delegate
     */
    public void _delegate(SGSitesOperations delegate_)
    {
        _tie = delegate_;
    }

    /**
     * _default_POA method
     */
    public org.omg.PortableServer.POA _default_POA()
    {
        if (_poa != null)
            return _poa;
        else
            return super._default_POA();
    }

    /**
     * Read accessor for listeDesSotes attribute
     */
    public UnOfficeDeTourisme.genericEntry[] listeDesSotes()
    {
        return _tie.listeDesSotes();
    }

    /**
     * Operation ajouterVisite
     */
    public void ajouterVisite(UnOfficeDeTourisme.Site s, UnOfficeDeTourisme.Visite v)
    {
        _tie.ajouterVisite( s,  v);
    }

    /**
     * Operation ajouterSite
     */
    public void ajouterSite(UnOfficeDeTourisme.Site s)
    {
        _tie.ajouterSite( s);
    }

    /**
     * Operation ajouterTypeEntree
     */
    public void ajouterTypeEntree(UnOfficeDeTourisme.Site s, UnOfficeDeTourisme.Visite v, float prix, String nomTE)
    {
        _tie.ajouterTypeEntree( s,  v,  prix,  nomTE);
    }

    /**
     * Operation getVisites
     */
    public UnOfficeDeTourisme.Visite[] getVisites(UnOfficeDeTourisme.Site[] ls)
        throws UnOfficeDeTourisme.ListeVideException
    {
        return _tie.getVisites( ls);
    }

    /**
     * Operation calculerStatistiques
     */
    public UnOfficeDeTourisme.statistiques calculerStatistiques(UnOfficeDeTourisme.Site[] sites)
    {
        return _tie.calculerStatistiques( sites);
    }

    /**
     * Operation getPosProches
     */
    public UnOfficeDeTourisme.Visite[] getPosProches(UnOfficeDeTourisme.GPS geo)
        throws UnOfficeDeTourisme.ListeVideException
    {
        return _tie.getPosProches( geo);
    }

    /**
     * Operation majSite
     */
    public void majSite(UnOfficeDeTourisme.Site s, UnOfficeDeTourisme.datecut ouverture, UnOfficeDeTourisme.datecut fermeture)
    {
        _tie.majSite( s,  ouverture,  fermeture);
    }

}
